package com.sxkiler.demo.hard;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.util.*;
import com.sxkiler.demo.model.*;

/**
distinct-subsequences=不同的子序列
<p>给定一个字符串&nbsp;<strong>S&nbsp;</strong>和一个字符串&nbsp;<strong>T</strong>，计算在 <strong>S</strong> 的子序列中 <strong>T</strong> 出现的个数。</p>

<p>一个字符串的一个子序列是指，通过删除一些（也可以不删除）字符且不干扰剩余字符相对位置所组成的新字符串。（例如，<code>"ACE"</code>&nbsp;是&nbsp;<code>"ABCDE"</code>&nbsp;的一个子序列，而&nbsp;<code>"AEC"</code>&nbsp;不是）</p>

<p>题目数据保证答案符合 32 位带符号整数范围。</p>

<p>&nbsp;</p>

<p><strong>示例&nbsp;1：</strong></p>

<pre><strong>输入：</strong>S = <code>"rabbbit"</code>, T = <code>"rabbit"
<strong>输出</strong></code><strong>：</strong><code>3
</code><strong>解释：
</strong>
如下图所示, 有 3 种可以从 S 中得到 <code>"rabbit" 的方案</code>。
(上箭头符号 ^ 表示选取的字母)

<code>rabbbit</code>
^^^^ ^^
<code>rabbbit</code>
^^ ^^^^
<code>rabbbit</code>
^^^ ^^^
</pre>

<p><strong>示例&nbsp;2：</strong></p>

<pre><strong>输入：</strong>S = <code>"babgbag"</code>, T = <code>"bag"
<strong>输出</strong></code><strong>：</strong><code>5
</code><strong>解释：
</strong>
如下图所示, 有 5 种可以从 S 中得到 <code>"bag" 的方案</code>。
(上箭头符号 ^ 表示选取的字母)

<code>babgbag</code>
^^ ^
<code>babgbag</code>
^^    ^
<code>babgbag</code>
^    ^^
<code>babgbag</code>
  ^  ^^
<code>babgbag</code>
    ^^^</pre>

 */
public class numDistinct {
    

    class Solution {
        public Integer numDistinct(String param0,String param1) {
            return null;
        }
    }

    @Test
    public void test(){
        Solution solution = new Solution();
        /**
        "rabbbit"
"rabbit"
        */
        //int [] num1 = new int[]{1,3};
        //int [] num2 = new int[]{2};
        //Assertions.assertEquals(solution.{{questionName}}(num1,num2),2);
    }
}

